package br.com.jmed.service;

import java.util.List;

import javax.ejb.Stateless;
import javax.inject.Inject;

import br.com.jmed.dao.MedicamentoDao;
import br.com.jmed.dao.Parametros;
import br.com.jmed.model.Medicamento;

@Stateless
public class MedicamentoService {

	@Inject
	private MedicamentoDao medicamentoDao;

	public List<Medicamento> findMedicamentoByNome(String nome) {
		Parametros<String> parametro = new Parametros<String>();
		parametro.setNome("nome");
		parametro.setValor("%" + nome + "%");
		return medicamentoDao.findToList("Medicamento.findByName", parametro);
	}

	public Medicamento findMedicamentoByCod(Integer codigo) {
		return medicamentoDao.find(Medicamento.class, codigo);
	}

	public List<Medicamento> findAllMedicamentos() {
		return medicamentoDao.findToList("Medicamento.findAll", new Parametros[0]);
	}

	public Medicamento findMedicamentoByCode(Integer codigo) {
		return medicamentoDao.find(Medicamento.class, codigo);
	}

	public Medicamento salvarMedicamento(Medicamento medicamento) {
		medicamentoDao.save(medicamento);
		return medicamento;
	}
	
	public void atualizarMedicamento(Medicamento medicamento) {
		medicamentoDao.merge(medicamento);
	}

	public MedicamentoDao getMedicamentoDao() {
		return medicamentoDao;
	}

	public void setMedicamentoDao(MedicamentoDao medicamentoDao) {
		this.medicamentoDao = medicamentoDao;
	}
	
}
